// 模块模式：利用闭包将私用状态、方法封装起来，同时提供一组公共方法，变量供外部调用

var testModule = (function(){
    var privateVar = 'privateVar';
    privateFunc = function() {

    };

    return {
        publicVar: 'public var',
        publicFunc: function() {
            console.log('public function');
        },
        getPrivateVar: function() {
            return privateVar;
        }
    }
})();

testModule.publicFunc();
console.log(testModule.publicVar);
console.log(testModule.getPrivateVar());